package io.renren.modules.yckj.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.SchemaProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 发票日志
 *
 * @author Mark sunlightcs@gmail.com
 * @since 1.0.0 2025-05-20
 */
@Data
@Schema(name = "发票日志")
public class InvoiceLogsDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    @SchemaProperty(name = "主键")
    private Long id;

    @SchemaProperty(name = "类型：0用户充值，1组充值, 2订单")
    private Integer businessType;

    @SchemaProperty(name = "业务id")
    private Long businessId;

    @SchemaProperty(name = "发票id")
    private Long invoiceId;

    @SchemaProperty(name = "类型：0普票（电子），1专票（电子）")
    private Integer invoiceType;

    @SchemaProperty(name = "状态：0未开，1已开")
    private Integer invoiceStatus;

    @SchemaProperty(name = "总金额")
    private BigDecimal amount;

    @SchemaProperty(name = "电子发票文件url")
    private String url;

    @SchemaProperty(name = "状态：0未支付，1支付成功")
    private Integer status;

    @SchemaProperty(name = "用户名称")
    private String username;

    @SchemaProperty(name = "用户id")
    private Long userId;

    @SchemaProperty(name = "0合同，1检测清单，2检测报告")
    private String fileType;

    @SchemaProperty(name = "备注")
    private String note;

    @SchemaProperty(name = "创建时间")
    private Date createTime;

    @SchemaProperty(name = "更新时间")
    private Date updateTime;

    /**
     * 支付交易id
     */
    @SchemaProperty(name = "支付交易id")
    private String transactionId;

    /**
     * 交易结果
     */
    @SchemaProperty(name = "交易结果")
    private String payResult;

    /**
     * 公司名称
     */
    @SchemaProperty(name = "公司名称")
    private String title;

    /**
     * 税号
     */
    @SchemaProperty(name = "税号")
    private String no;

}
